package com.shujia.scala

object DEmo13Fun4 {
  def main(args: Array[String]): Unit = {

    /**
      * 以函数作为返回值
      *
      */

    def fun1(str: String): String => Int = {

      def f(s: String): Int = {
        s.toInt + str.toInt
      }

      //将函数返回
      f
    }


    //调用函数返回一个函数
    val fun2: String => Int = fun1("100")

    //在调用返回的函数
    val i: Int = fun2("20")

    println(i)

    //简化调用的方式
    val j = fun1("1")("2")
    println(j)


    /**
      * 简化函数的定义
      *
      */

    def fun3(str: String)(s: String): Int = {
      s.toInt + str.toInt
    }

    val k = fun3("100")("1000")
    println(k)

  }

}
